home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / admin / shadow-9.tar / shadow-9 / shadow-960129 / Makefile.linux < prev    next >
Makefile  |  1995-12-17  |  21KB  |  698 lines

  1. #  Copyright 1988 - 1994, John F. Haugh, II
  2. #  All rights reserved.
  3. #  Redistribution and use in source and binary forms, with or without
  4. #  modification, are permitted provided that the following conditions
  5. #  are met:
  6. #  1. Redistributions of source code must retain the above copyright
  7. #     notice, this list of conditions and the following disclaimer.
  8. #  2. Redistributions in binary form must reproduce the above copyright
  9. #     notice, this list of conditions and the following disclaimer in the
  10. #     documentation and/or other materials provided with the distribution.
  11. #  3. All advertising materials mentioning features or use of this software
  12. #     must display the following acknowledgement:
  13. #     This product includes software developed by John F. Haugh, II
  14. #       and other contributors.
  15. #  4. Neither the name of John F. Haugh, II nor the names of its contributors
  16. #     may be used to endorse or promote products derived from this software
  17. #     without specific prior written permission.
  18. #  THIS SOFTWARE IS PROVIDED BY JOHN HAUGH AND CONTRIBUTORS ``AS IS'' AND
  19. #  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  20. #  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21. #  ARE DISCLAIMED.  IN NO EVENT SHALL JOHN HAUGH OR CONTRIBUTORS BE LIABLE
  22. #  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  23. #  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24. #  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  25. #  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  26. #  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  27. #  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  28. #  SUCH DAMAGE.
  29. #
  30. #    %W%    %U%  - Shadow password system (Linux)
  31. #
  32. #    $Id: Makefile.linux,v 1.3 1995/12/18 00:18:05 marekm Exp $
  33. #
  34. SHELL = /bin/sh
  35.  
  36. #
  37. # Set this flag to decide what level of code "get" returns.
  38. # The base USENET release was release 1.  It is no longer supported.
  39. # The version with the utilities added was release 2.  It is now unsupported.
  40. # The version with database-like file access is release 3.
  41. RELEASE = 3
  42. VERSION = ver3.3.2
  43. GFLAGS = -n $(VERSION)
  44. GET = get_file
  45.  
  46. # Define the directory login is copied to.  Linux uses /bin.
  47. LOGINDIR = /bin
  48.  
  49. # Define any special libraries required to access the directory routines.
  50. # Linux does not use any special libraries.
  51. NDIR =
  52.  
  53. # Define some stuff for Cracklib.  This assumes that libcracklib.a is
  54. # in a system directory.
  55. # CRACKDEF='-DUSE_CRACKLIB'
  56. # CRACKLIB=-lcrack
  57.  
  58. # Pick your favorite C compiler and tags command
  59. CC = cc
  60. TAGS = ctags
  61.  
  62. # OS.  This is Linux.
  63. OS = -DUSG -DLINUX
  64.  
  65. # Do you have to do ranlib (probably SUN, BSD and XENIX)?
  66. RANLIB = ranlib
  67. # RANLIB = echo
  68.  
  69. # Configuration Flags
  70. #
  71. #    DEST_INCLUDE_DIR - local include files
  72. #    LIBS - system libraries
  73. #        -lsocket - needed for TCP/IP and possibly SYSLOG
  74. #        -ldbm or -lndbm - needed for DBM support
  75. #        -lcrypt - needed for SCO crypt() functions
  76. #    CFLAGS - C compiler flags
  77. #        -DLAI_TCP - needed for SCO Xenix Lachman TCP/IP
  78.  
  79. prefix=/
  80. exec_prefix=$(prefix)
  81. bindir=$(exec_prefix)/bin
  82. sbindir=$(exec_prefix)/sbin
  83. usrbindir=$(exec_prefix)/usr/bin
  84. usrsbindir=$(exec_prefix)/usr/sbin
  85. includedir=$(prefix)/usr/include
  86. libdir=$(prefix)/usr/lib
  87. mandir=$(prefix)/usr/man
  88. man1dir=$(mandir)/man1
  89. man3dir=$(mandir)/man3
  90. man4dir=$(mandir)/man4
  91. man5dir=$(mandir)/man5
  92. man8dir=$(mandir)/man8
  93.  
  94. login_perms=-m755
  95. # If you need "exec login", comment out the above line and uncomment below
  96. #login_perms=-m4755
  97.  
  98. #DEST_INCLUDE_DIR = /usr/local/include
  99. DEST_INCLUDE_DIR = $(includedir)
  100.  
  101. # Flags for Linux
  102. CFLAGS = -O2 -fomit-frame-pointer -Wall $(CRACKDEF) $(OS)
  103. LIBS = #-ldbm #-lskey
  104. STATIC = -static
  105. LDFLAGS = -s
  106. LTFLAGS = 
  107.  
  108. # Where the login.defs file will be copied.  Must agree with config.h
  109. DEST_LOGIN_DEFS = /etc/login.defs
  110.  
  111. # Rules for .L (lint) files.
  112. .SUFFIXES: .L
  113. LINT = lint
  114. LINTFLAGS = $(OS) -Dlint
  115.  
  116. .c.L:
  117.     $(LINT) -pxu $(LINTFLAGS) $*.c > $*.L
  118.  
  119. LOBJS = lmain.o login.o env.o valid.o setup.o shell.o age.o \
  120.     utmp.o sub.o mail.o motd.o log.o ttytype.o failure.o \
  121.     tz.o console.o hushed.o
  122.  
  123. LSRCS = lmain.c login.c env.c valid.c setup.c shell.c age.c \
  124.     utmp.c sub.c mail.c motd.c log.c ttytype.c failure.c \
  125.     tz.c console.c hushed.c
  126.  
  127. SOBJS = smain.o env.o entry.o susetup.o shell.o \
  128.     sub.o mail.o motd.o sulog.o age.o tz.o hushed.o
  129.  
  130. SSRCS = smain.c env.c entry.c setup.c shell.c \
  131.     pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
  132.     tz.c hushed.c
  133.  
  134. POBJS = passwd.o obscure.o
  135. PSRCS = passwd.c obscure.c
  136.  
  137. GPSRCS = gpmain.c
  138.  
  139. GPOBJS = gpmain.o
  140.  
  141. PWOBJS = pwconv.o
  142.  
  143. PWSRCS = pwconv.c pwent.c shadow.c pwpack.c rad64.c
  144.  
  145. PWUNOBJS = pwunconv.o
  146.  
  147. PWUNSRCS = pwunconv.c pwent.c shadow.c pwpack.c rad64.c
  148.  
  149. SULOGOBJS = sulogin.o entry.o env.o age.o setup.o \
  150.     valid.o shell.o tz.o
  151.  
  152. SULOGSRCS = sulogin.c entry.c env.c age.c pwent.c setup.c \
  153.     shadow.c shell.c valid.c pwpack.c tz.c
  154.  
  155. MKPWDOBJS = mkpasswd.o
  156.  
  157. MKPWDSRCS = mkpasswd.c
  158.  
  159. NGSRCS = newgrp.c env.c shell.c
  160.  
  161. NGOBJS = newgrp.o env.o shell.o
  162.  
  163. CHFNSRCS = chfn.c fields.c
  164. CHFNOBJS = chfn.o fields.o
  165. CHSHSRCS = chsh.c fields.c
  166. CHSHOBJS = chsh.o fields.o
  167. CHAGEOBJS = chage.o fields.o
  168. CHAGESRCS = chage.c fields.c
  169. CHPASSOBJS = chpasswd.o
  170. CHPASSSRCS = chpasswd.c
  171. DPSRCS = dpmain.c
  172. DPOBJS = dpmain.o
  173.  
  174. ALLSRCS = age.c dialchk.c dialup.c entry.c env.c lmain.c log.c login.c mail.c \
  175.     motd.c obscure.c passwd.c pwconv.c pwent.c pwunconv.c getpass.c \
  176.     setup.c shadow.c shell.c smain.c sub.c sulog.c sulogin.c ttytype.c \
  177.     utmp.c valid.c port.c newgrp.c gpmain.c grent.c mkpasswd.c pwpack.c \
  178.     chfn.c chsh.c chage.c rad64.c encrypt.c chpasswd.c shadowio.c pwio.c \
  179.     newusers.c groupio.c fields.c pwdbm.c grpack.c grdbm.c sppack.c \
  180.     spdbm.c dpmain.c gshadow.c gsdbm.c gspack.c sgroupio.c useradd.c \
  181.     userdel.c patchlevel.h usermod.c copydir.c mkrmdir.c groupadd.c \
  182.     groupdel.c groupmod.c tz.c console.c hushed.c getdef.c scologin.c \
  183.     logoutd.c groups.c pwauth.c lockpw.c chowndir.c rename.c
  184.  
  185. FILES1 = LICENSE README patchlevel.h newgrp.c Makefile config.h pwunconv.c obscure.c \
  186.     age.c id.c
  187.  
  188. FILES2 = passwd.c port.c lmain.c sulogin.c pwpack.c dialup.c expiry.c \
  189.     gshadow.h
  190.  
  191. FILES3 = chfn.c chsh.c smain.c faillog.c pwconv.c shadow.c pwck.c utent.c
  192.  
  193. FILES4 = gpmain.c chage.c pwent.c valid.c setup.c entry.c ttytype.c port.h
  194.  
  195. FILES5 = pwio.c encrypt.c chpasswd.c newusers.c rad64.c dialchk.c faillog.h \
  196.     pwdbm.c grdbm.c gshadow.c sppack.c grpck.c
  197.  
  198. FILES6 = gspack.c spdbm.c lastlog.h shell.c login.c sub.c dpmain.c mail.c \
  199.     env.c pwd.h.m4 grpack.c shadow.h log.c grent.c motd.c dialup.h \
  200.     fields.c gsdbm.c utmp.c failure.c
  201.  
  202. FILES7 = groupio.c shadowio.c sgroupio.c groups.c copydir.c mkrmdir.c \
  203.     mkpasswd.c pwauth.c pwauth.h lastlog.c
  204.  
  205. FILES8 = useradd.c usermod.c login.defs rename.c
  206.  
  207. FILES9 = groupadd.c groupdel.c groupmod.c tz.c console.c hushed.c getdef.c \
  208.     scologin.c logoutd.c sulog.c getpass.c userdel.c lockpw.c chowndir.c
  209.  
  210. FILES_SUN4 = Makefile.sun4 README.sun4 config.h.sun4
  211. FILES_SVR4 = Makefile.svr4 config.h.svr4
  212. FILES_LINUX = Makefile.linux config.h.linux
  213.  
  214. MAN_1 = chage.1 chfn.1 chsh.1 id.1 login.1 newgrp.1 passwd.1 su.1 \
  215.     useradd.1 userdel.1 usermod.1 groupadd.1 groupdel.1 groupmod.1 \
  216.     groups.1 pwck.1 grpck.1
  217. MAN_3 = shadow.3 pwauth.3
  218. MAN_4 = faillog.4 passwd.4 porttime.4 shadow.4
  219. MAN_5 = login.5
  220. MAN_8 = chpasswd.8 dpasswd.8 faillog.8 newusers.8 pwconv.8 pwunconv.8 \
  221.     sulogin.8 mkpasswd.8 logoutd.8 pwauth.8 lastlog.8
  222.  
  223. DOCS1 = $(MAN_1) $(MAN_3) $(MAN_4)
  224. DOCS2 = $(MAN_5) $(MAN_8)
  225. DOCS = $(DOCS1) $(DOCS2)
  226.  
  227. BINS = su login login-static pwconv pwunconv passwd sulogin faillog newgrp \
  228.     sg gpasswd mkpasswd chfn chsh chage chpasswd newusers dpasswd id \
  229.     useradd userdel usermod groupadd groupdel groupmod $(SCOLOGIN) \
  230.     logoutd groups pwck grpck lastlog expiry
  231.  
  232. all:    $(BINS) $(DOCS)
  233.  
  234. #
  235. # Linux has its own /usr/include/shadow.h.  Use it instead.
  236. #
  237. SHADOW = /usr/include/shadow.h
  238. PWD = /usr/include/pwd.h
  239. Linux:
  240.     rm -f shadow.h
  241.     touch Linux
  242.  
  243. $(BINS): Linux
  244.  
  245. .PRECIOUS: libshadow.a
  246.  
  247. libshadow.a: \
  248.     libshadow.a(dialchk.o) \
  249.     libshadow.a(dialup.o) \
  250.     libshadow.a(encrypt.o) \
  251.     libshadow.a(getdef.o) \
  252.     libshadow.a(getpass.o) \
  253.     libshadow.a(grdbm.o) \
  254.     libshadow.a(grent.o) \
  255.     libshadow.a(groupio.o) \
  256.     libshadow.a(grpack.o) \
  257.     libshadow.a(gshadow.o) \
  258.     libshadow.a(gsdbm.o) \
  259.     libshadow.a(gspack.o) \
  260.     libshadow.a(sgroupio.o) \
  261.     libshadow.a(port.o) \
  262.     libshadow.a(pwdbm.o) \
  263.     libshadow.a(pwent.o) \
  264.     libshadow.a(pwio.o) \
  265.     libshadow.a(pwpack.o) \
  266.     libshadow.a(pwauth.o) \
  267.     libshadow.a(rad64.o) \
  268.     libshadow.a(spdbm.o) \
  269.     libshadow.a(shadow.o) \
  270.     libshadow.a(shadowio.o) \
  271.     libshadow.a(sppack.o) \
  272.     libshadow.a(lockpw.o) \
  273.     libshadow.a(rename.o) \
  274.     libshadow.a(utent.o) \
  275.     libshadow.a(list.o) \
  276.     libshadow.a(strtoday.o) \
  277.     libshadow.a(basename.o) \
  278.     libshadow.a(xmalloc.o)
  279.     $(RANLIB) libshadow.a
  280.  
  281. # XXX - these two don't work on Linux, pathnames need fixing
  282. #
  283. #save:
  284. #    [ ! -d save ] && mkdir save
  285. #    -cp $(LOGINDIR)/login save
  286. #    -cp /etc/mkpasswd /etc/pwconv /etc/pwunconv /etc/sulogin /etc/chpasswd \
  287. #        /etc/newusers /etc/useradd /etc/userdel /etc/usermod \
  288. #        /etc/groupadd /etc/groupdel /etc/groupmod /etc/logoutd \
  289. #        /etc/login.defs /etc/pwck /etc/grpck /bin/expiry save
  290. #    -cp /bin/su /bin/passwd /bin/gpasswd /bin/dpasswd /bin/faillog \
  291. #        /bin/newgrp /bin/chfn /bin/chsh /bin/chage /bin/id \
  292. #        /bin/scologin save
  293. #    -cp $(DEST_INCLUDE_DIR)/dialup.h $(DEST_INCLUDE_DIR)/gshadow.h save
  294. #
  295. #restore:
  296. #    [ -d save ]
  297. #    -(cd save ; cp login $(LOGINDIR) )
  298. #    -(cd save ; -cp mkpasswd pwconv pwunconv sulogin chpasswd \
  299. #        newusers useradd userdel usermod groupadd groupdel groupmod \
  300. #        logoutd login.defs pwck grpck /etc)
  301. #    -(cd save ; cp su passwd gpasswd dpasswd faillog newgrp chfn chsh \
  302. #        chage id scologin expiry /bin)
  303. #    -(cd save ; cp gshadow.h dialup.h $(DEST_INCLUDE_DIR) )
  304.  
  305. install: all
  306.     install -d $(man1dir)
  307.     install -d $(man3dir)
  308.     install -d $(man4dir)
  309.     install -d $(man5dir)
  310.     install -d $(man8dir)
  311.     install -d $(usrbindir)
  312.     install -d $(usrsbindir)
  313.     install -d $(LOGINDIR)
  314.     install -d $(bindir)
  315.     install -d $(includedir)
  316.     install -d $(libdir)
  317.     install -m 644 $(MAN_1) $(man1dir)/
  318.     install -m 644 $(MAN_3) $(man3dir)/
  319.     install -m 644 $(MAN_4) $(man4dir)/
  320.     install -m 644 $(MAN_5) $(man5dir)/
  321.     install -m 644 $(MAN_8) $(man8dir)/
  322. #    install -m 755 id groups $(usrbindir)/
  323.     install -m 4755 chfn chsh chage $(usrbindir)/
  324.     install $(login_perms) login $(LOGINDIR)/login
  325.     install $(login_perms) login-static $(LOGINDIR)/login-static
  326.     install -m 755 sulogin $(sbindir)/sulogin
  327.     install -m 755 newusers \
  328.         useradd userdel usermod groupadd groupdel groupmod \
  329.         pwck grpck lastlog faillog dpasswd \
  330.         chpasswd logoutd mkpasswd pwconv pwunconv $(usrsbindir)/
  331.     install -m 4755 su $(bindir)/
  332.     install -m 4755 passwd gpasswd newgrp expiry $(usrbindir)/
  333.     ln -sf $(usrbindir)/newgrp $(bindir)/sg
  334.     install -m 644 gshadow.h dialup.h $(includedir)/
  335.     install -m 644 libshadow.a $(libdir)/
  336.     $(RANLIB) $(libdir)/libshadow.a
  337.  
  338. lint:    su.lint login.lint pwconv.lint pwunconv.lint passwd.lint sulogin.lint \
  339.     faillog.lint newgrp.lint gpasswd.lint mkpasswd.lint chfn.lint \
  340.     chsh.lint chage.lint dpasswd.lint id.lint useradd.lint userdel.lint \
  341.     usermod.lint groupadd.lint groupdel.lint groupmod.lint logoutd.lint \
  342.     pwck.lint grpck.lint expiry.lint \
  343.     $(ALLSRCS:.c=.L)
  344.  
  345. tags:    $(ALLSRCS)
  346.     $(TAGS) $(ALLSRCS)
  347.  
  348. README:
  349.     [ -f s.README ] && $(GET) $(GFLAGS) s.README
  350.     
  351. $(DOCS):
  352.     [ -f s.$@ ] && $(GET) $(GFLAGS) s.$@
  353.  
  354. login.defs:
  355.     [ -f s.login.defs ] && $(GET) $(GFLAGS) s.login.defs
  356.  
  357. Makefile.sun4:
  358.     [ -f s.Makefile.sun4 ] && $(GET) $(GFLAGS) s.Makefile.sun4
  359.  
  360. Makefile.svr4:
  361.     [ -f s.Makefile.svr4 ] && $(GET) $(GFLAGS) s.Makefile.svr4
  362.  
  363. README.sun4:
  364.     [ -f s.README.sun4 ] && $(GET) $(GFLAGS) s.README.sun4
  365.  
  366. config.h.sun4:
  367.     [ -f s.config.h.sun4 ] && $(GET) $(GFLAGS) s.config.h.sun4
  368.  
  369. config.h.svr4:
  370.     [ -f s.config.h.svr4 ] && $(GET) $(GFLAGS) s.config.h.svr4
  371.  
  372. login:    $(LOBJS) libshadow.a
  373.     $(CC) -o login $(LDFLAGS) $(LOBJS) libshadow.a $(LIBS)
  374.  
  375. login-static:    $(LOBJS) libshadow.a
  376.     $(CC) -o login-static $(STATIC) $(LDFLAGS) $(LOBJS) libshadow.a $(LIBS)
  377.  
  378. login.lint: $(LSRCS)
  379.     $(LINT) $(LINTFLAGS) $(LSRCS) > login.lint
  380.  
  381. su:    $(SOBJS) libshadow.a
  382.     $(CC) -o su $(LDFLAGS) $(SOBJS) libshadow.a $(LIBS)
  383.  
  384. su.lint:    $(SSRCS)
  385.     $(LINT) $(LINTFLAGS) -DSU $(SSRCS) > su.lint
  386.  
  387. passwd:    $(POBJS) libshadow.a
  388.     $(CC) -o passwd $(LDFLAGS) $(POBJS) libshadow.a $(LIBS) $(CRACKLIB)
  389.  
  390. passwd.lint: $(PSRCS)
  391.     $(LINT) $(LINTFLAGS) -DPASSWD $(PSRCS) > passwd.lint
  392.  
  393. gpasswd: $(GPOBJS) libshadow.a
  394.     $(CC) -o gpasswd $(LDFLAGS) $(GPOBJS) libshadow.a $(LIBS)
  395.  
  396. gpasswd.lint: $(GPSRCS)
  397.     $(LINT) $(LINTFLAGS) $(GPSRCS) > gpasswd.lint
  398.  
  399. dpasswd: $(DPOBJS) libshadow.a
  400.     $(CC) -o dpasswd $(LDFLAGS) $(DPOBJS) libshadow.a $(LIBS)
  401.  
  402. dpasswd.lint: $(DPSRCS)
  403.     $(LINT) $(LINTFLAGS) $(DPSRCS) > dpasswd.lint
  404.  
  405. pwconv:    $(PWOBJS) libshadow.a config.h
  406.     $(CC) -o pwconv $(LDFLAGS) $(PWOBJS) libshadow.a $(LIBS)
  407.  
  408. pwconv.lint: $(PWSRCS) config.h
  409.     $(LINT) $(LINTFLAGS) -DPASSWD $(PWSRCS) > pwconv.lint
  410.  
  411. pwunconv: $(PWUNOBJS) libshadow.a config.h
  412.     $(CC) -o pwunconv $(LDFLAGS) $(PWUNOBJS) libshadow.a $(LIBS)
  413.  
  414. pwunconv.lint: $(PWUNSRCS)
  415.     $(LINT) $(LINTFLAGS) -DPASSWD $(PWUNSRCS) > pwunconv.lint
  416.  
  417. sulogin: $(SULOGOBJS) libshadow.a
  418.     $(CC) -o sulogin $(LDFLAGS) $(SULOGOBJS) libshadow.a $(LIBS)
  419.  
  420. sulogin.lint: $(SULOGSRCS)
  421.     $(LINT) $(LINTFLAGS) $(SULOGSRCS) > sulogin.lint
  422.  
  423. faillog: faillog.o
  424.     $(CC) -o faillog $(LDFLAGS) faillog.o $(LIBS)
  425.  
  426. faillog.lint: faillog.c faillog.h config.h
  427.     $(LINT) $(LINTFLAGS) faillog.c > faillog.lint
  428.  
  429. lastlog: lastlog.o
  430.     $(CC) -o lastlog $(LDFLAGS) lastlog.o $(LIBS)
  431.  
  432. lastlog.lint: lastlog.c config.h lastlog.h
  433.     $(LINT) $(LINTFLAGS) $(MKPWDSRCS) > lastlog.lint
  434.  
  435. mkpasswd: $(MKPWDOBJS) libshadow.a
  436.     $(CC) -o mkpasswd $(LDFLAGS) $(MKPWDOBJS) libshadow.a $(LIBS)
  437.  
  438. mkpasswd.lint: $(MKPWDSRCS)
  439.     $(LINT) $(LINTFLAGS) $(MKPWDSRCS) > mkpasswd.lint
  440.  
  441. newgrp: $(NGOBJS) libshadow.a
  442.     $(CC) -o newgrp $(LDFLAGS) $(NGOBJS) libshadow.a $(LIBS)
  443.  
  444. newgrp.lint: $(NGSRCS)
  445.     $(LINT) $(LINTFLAGS) $(NGSRCS) > newgrp.lint
  446.  
  447. sg:    newgrp
  448.     rm -f sg
  449.     ln newgrp sg
  450.  
  451. sg.lint: newgrp.lint
  452.     ln newgrp.lint sg.lint
  453.  
  454. chfn:    $(CHFNOBJS) libshadow.a
  455.     $(CC) -o chfn $(LDFLAGS) $(CHFNOBJS) libshadow.a $(LIBS)
  456.  
  457. chfn.lint:    $(CHFNSRCS)
  458.     $(LINT) $(LINTFLAGS) $(CHFNSRCS) > chfn.lint
  459.  
  460. chsh:    $(CHSHOBJS) libshadow.a
  461.     $(CC) -o chsh $(LDFLAGS) $(CHSHOBJS) libshadow.a $(LIBS)
  462.  
  463. chsh.lint: $(CHSHSRCS)
  464.     $(LINT) $(LINTFLAGS) $(CHSHSRCS) > chsh.lint
  465.  
  466. chage:    $(CHAGEOBJS) libshadow.a
  467.     $(CC) -o chage $(LDFLAGS) $(CHAGEOBJS) libshadow.a $(LIBS)
  468.  
  469. chage.lint: $(CHAGESRCS)
  470.     $(LINT) $(LINTFLAGS) -DPASSWD $(CHAGESRCS) > chage.lint
  471.  
  472. chpasswd: $(CHPASSOBJS) libshadow.a
  473.     $(CC) -o chpasswd $(LDFLAGS) $(CHPASSOBJS) libshadow.a $(LIBS)
  474.  
  475. chpasswd.lint: $(CHPASSSRCS)
  476.     $(LINT) $(LINTFLAGS) $(CHPASSSRCS) > chpasswd.lint
  477.  
  478. newusers: newusers.o libshadow.a
  479.     $(CC) -o newusers $(LDFLAGS) newusers.o libshadow.a $(LIBS)
  480.  
  481. newusers.lint: newusers.c
  482.     $(LINT) $(LINTFLAGS) newusers.c > newusers.lint
  483.     
  484. id: id.o libshadow.a
  485.     $(CC) -o id $(LDFLAGS) id.o libshadow.a $(LIBS)
  486.  
  487. id.lint: id.c
  488.     $(LINT) $(LINTFLAGS) id.c > id.lint
  489.  
  490. groups: groups.o libshadow.a
  491.     $(CC) -o groups $(LDFLAGS) groups.o libshadow.a $(LIBS)
  492.  
  493. groups.lint: groups.c
  494.     $(LINT) $(LINTFLAGS) groups.c > groups.lint
  495.  
  496. useradd: useradd.o copydir.o mkrmdir.o libshadow.a
  497.     $(CC) -o useradd $(LDFLAGS) useradd.o copydir.o mkrmdir.o \
  498.         libshadow.a $(LIBS) $(NDIR)
  499.  
  500. useradd.lint: useradd.c copydir.c mkrmdir.c
  501.     $(LINT) $(LINTFLAGS) useradd.c copydir.c mkrmdir.c > useradd.lint
  502.  
  503. userdel: userdel.o copydir.o mkrmdir.o libshadow.a
  504.     $(CC) -o userdel $(LDFLAGS) userdel.o copydir.o mkrmdir.o \
  505.         libshadow.a $(LIBS) $(NDIR)
  506.  
  507. userdel.lint: userdel.c copydir.c mkrmdir.c
  508.     $(LINT) $(LINTFLAGS) userdel.c copydir.c mkrmdir.c > userdel.lint
  509.  
  510. usermod: usermod.o copydir.o mkrmdir.o chowndir.o libshadow.a
  511.     $(CC) -o usermod $(LDFLAGS) usermod.o copydir.o mkrmdir.o \
  512.         chowndir.o libshadow.a $(LIBS) $(NDIR)
  513.  
  514. usermod.lint: usermod.c copydir.c mkrmdir.c chowndir.c
  515.     $(LINT) $(LINTFLAGS) usermod.c copydir.c mkrmdir.c \
  516.         chowndir.c > usermod.lint
  517.  
  518. groupadd: groupadd.o libshadow.a
  519.     $(CC) -o groupadd $(LDFLAGS) groupadd.o libshadow.a $(LIBS)
  520.  
  521. groupadd.lint: groupadd.c
  522.     $(LINT) $(LINTFLAGS) groupadd.c > groupadd.lint
  523.  
  524. groupdel: groupdel.o libshadow.a
  525.     $(CC) -o groupdel $(LDFLAGS) groupdel.o libshadow.a $(LIBS)
  526.  
  527. groupdel.lint: groupdel.c
  528.     $(LINT) $(LINTFLAGS) groupdel.c > groupdel.lint
  529.  
  530. groupmod: groupmod.o libshadow.a
  531.     $(CC) -o groupmod $(LDFLAGS) groupmod.o libshadow.a $(LIBS)
  532.  
  533. groupmod.lint: groupmod.c
  534.     $(LINT) $(LINTFLAGS) groupmod.c > groupmod.lint
  535.  
  536. logoutd: logoutd.o libshadow.a
  537.     $(CC) -o logoutd $(LDFLAGS) logoutd.o libshadow.a
  538.  
  539. logoutd.lint: logoutd.c
  540.     $(LINT) $(LINTFLAGS) logoutd.c > logoutd.lint
  541.  
  542. pwck: pwck.o libshadow.a
  543.     $(CC) -o pwck $(LDFLAGS) pwck.o libshadow.a $(LIBS)
  544.  
  545. pwck.lint: pwck.c
  546.     $(LINT) $(LINTFLAGS) pwck.c > pwck.lint
  547.  
  548. grpck: grpck.o libshadow.a
  549.     $(CC) -o grpck $(LDFLAGS) grpck.o libshadow.a $(LIBS)
  550.  
  551. grpck.lint: grpck.c
  552.     $(LINT) $(LINTFLAGS) grpck.c > grpck.lint
  553.  
  554. expiry: expiry.o age.o libshadow.a
  555.     $(CC) -o expiry $(LDFLAGS) expiry.o age.o libshadow.a $(LIBS)
  556.  
  557. expiry.lint: expiry.c
  558.     $(LINT) $(LINTFLAGS) expiry.c > expiry.lint
  559.  
  560. sulog.o: config.h
  561.  
  562. susetup.c: setup.c $(PWD)
  563.     cp setup.c susetup.c
  564.  
  565. susetup.o: config.h susetup.c
  566.     $(CC) -c $(CFLAGS) -DSU susetup.c
  567.  
  568. scologin: scologin.o
  569.     $(CC) -o scologin $(LDFLAGS) scologin.o -lsocket
  570.  
  571. passwd.o: config.h $(SHADOW) $(PWD) pwauth.h
  572. lmain.o: config.h lastlog.h faillog.h $(PWD) pwauth.h
  573. smain.o: config.h lastlog.h $(PWD) $(SHADOW) pwauth.h
  574. sub.o: $(PWD)
  575. setup.o: config.h $(PWD)
  576. mkrmdir.o: config.h
  577. utmp.o: config.h
  578. mail.o: config.h
  579. motd.o: config.h
  580. age.o: config.h gshadow.h $(PWD)
  581. log.o: config.h lastlog.h $(PWD)
  582. lastlog.o: lastlog.h
  583. shell.o: config.h
  584. entry.o: config.h $(SHADOW) $(PWD)
  585. hushed.o: config.h $(PWD)
  586. valid.o: config.h $(PWD)
  587. failure.o: faillog.h config.h
  588. faillog.o: faillog.h config.h $(PWD)
  589. newgrp.o: config.h gshadow.h $(SHADOW) $(PWD)
  590. mkpasswd.o: config.h gshadow.h $(SHADOW) $(PWD)
  591. gpmain.o: config.h gshadow.h $(PWD)
  592. chfn.o: config.h $(PWD)
  593. chsh.o: config.h $(PWD)
  594. chage.o: config.h $(SHADOW) $(PWD)
  595. pwconv.o: config.h $(SHADOW)
  596. pwunconv.o: config.h $(SHADOW) $(PWD)
  597. chpasswd.o: config.h $(SHADOW) $(PWD)
  598. id.o: $(PWD)
  599. newusers.o: config.h $(SHADOW) $(PWD)
  600. dpmain.o: config.h dialup.h
  601. useradd.o: config.h gshadow.h $(SHADOW) $(PWD) pwauth.h
  602. userdel.o: config.h gshadow.h $(SHADOW) $(PWD) pwauth.h
  603. usermod.o: config.h gshadow.h $(SHADOW) $(PWD) pwauth.h
  604. groupadd.o: config.h gshadow.h
  605. groupdel.o: config.h gshadow.h
  606. groupmod.o: config.h gshadow.h
  607. logoutd.o: config.h
  608. sulogin.o: config.h pwauth.h
  609. copydir.o: config.h
  610. chowndir.o: config.h
  611. pwck.o: config.h $(SHADOW) $(PWD)
  612. grpck.o: config.h gshadow.h $(PWD)
  613.  
  614. libshadow.a(shadow.o): $(SHADOW) config.h
  615. libshadow.a(shadowio.o): $(SHADOW) config.h
  616. libshadow.a(grent.o): config.h gshadow.h
  617. libshadow.a(groupio.o): config.h
  618. libshadow.a(sgroupio.o): config.h gshadow.h
  619. libshadow.a(dialup.o): dialup.h
  620. libshadow.a(dialchk.o): dialup.h config.h
  621. libshadow.a(getdef.o): config.h
  622. libshadow.a(pwdbm.o): config.h $(PWD)
  623. libshadow.a(spdbm.o): config.h $(SHADOW)
  624. libshadow.a(grdbm.o): config.h
  625. libshadow.a(gshadow.o): config.h
  626. libshadow.a(gsdbm.o): config.h gshadow.h
  627. libshadow.a(pwauth.o): config.h pwauth.h
  628. libshadow.a(pwpack.o): config.h $(PWD)
  629. libshadow.a(pwent.o): config.h $(PWD)
  630. libshadow.a(pwio.o): $(PWD) config.h
  631. libshadow.a(getpass.o): config.h
  632. libshadow.a(encrypt.o): config.h
  633. libshadow.a(port.o): port.h
  634. libshadow.a(rad64.o): config.h
  635. libshadow.a(lockpw.o):
  636. libshadow.a(rename.o): config.h
  637. libshadow.a(gspack.o): config.h gshadow.h
  638. libshadow.a(list.o):
  639. libshadow.a(strtoday.o): config.h
  640. libshadow.a(xmalloc.o):
  641. libshadow.a(basename.o):
  642.  
  643. clean:
  644.     -rm -f susetup.c *.o a.out core npasswd nshadow *.pag *.dir
  645.  
  646. clobber: clean
  647.     -rm -f $(BINS) *.lint *.L libshadow.a
  648.  
  649. nuke:    clobber
  650.     -for file in * ; do \
  651.         if [ -f s.$$file -a ! -f p.$$file ] ; then \
  652.             rm -f $$file ;\
  653.         fi ;\
  654.     done
  655.  
  656. shar:    login.sh.01 login.sh.02 login.sh.03 login.sh.04 login.sh.05 \
  657.     login.sh.06 login.sh.07 login.sh.08 login.sh.09 login.sh.10 \
  658.     login.sh.11 login.sh.12
  659.  
  660. login.sh.01: $(FILES1) Makefile
  661.     shar -Dc $(FILES1) > login.sh.01
  662.  
  663. login.sh.02: $(FILES2) Makefile
  664.     shar -Dc $(FILES2) > login.sh.02
  665.  
  666. login.sh.03: $(FILES3) Makefile
  667.     shar -Dc $(FILES3) > login.sh.03
  668.  
  669. login.sh.04: $(FILES4) Makefile
  670.     shar -Dc $(FILES4) > login.sh.04
  671.  
  672. login.sh.05: $(FILES5) Makefile
  673.     shar -Dc $(FILES5) > login.sh.05
  674.  
  675. login.sh.06: $(FILES6) Makefile
  676.     shar -Dc $(FILES6) > login.sh.06
  677.  
  678. login.sh.07: $(FILES7) Makefile
  679.     shar -Dc $(FILES7) > login.sh.07
  680.  
  681. login.sh.08: $(FILES8) Makefile
  682.     shar -Dc $(FILES8) > login.sh.08
  683.  
  684. login.sh.09: $(FILES9) Makefile
  685.     shar -Dc $(FILES9) > login.sh.09
  686.  
  687. login.sh.10: $(DOCS1) Makefile
  688.     shar -Dc $(DOCS1) > login.sh.10
  689.  
  690. login.sh.11: $(DOCS2) Makefile
  691.     shar -Dc $(DOCS2) > login.sh.11
  692.  
  693. login.sh.12: $(FILES_SUN4) $(FILES_SVR4) $(FILES_LINUX) Makefile
  694.     shar -Dc $(FILES_SUN4) $(FILES_SVR4) $(FILES_LINUX) > login.sh.12
  695.